import { ref, computed } from 'vue'
import { defineStore } from 'pinia'

// 上课测试用的
// setup
// export const useCounterStore = defineStore('counter', () => {
//   const count = ref(0)
//   const doubleCount = computed(() => count.value * 2)
//   function increment() {
//     count.value++
//   }
//   return { count, doubleCount, increment }
// })

// 对象语法
export const useCounterStore = defineStore('counter', {
  state() {
    return {
      count: 1
    }
  },
  // 它是pinia内部的计算数据，我们一般用computed来代替
  getters: {
    addCount() {
      return ++this.count
    }
  }
})

export const useDataStore = defineStore('data', {
  state() {
    return {
      list: []
    }
  },
  // 它是pinia内部的计算数据，我们一般用computed来代替
  getters: {
    filterArr() {
      return this.list.filter(item => item > 10)
    }
  },
  actions: {
    getData() {
      setTimeout(() => {
        this.list = [12, 5, 7, 99, 103]
      }, 300)
    }
  }
})
